package cn.stylefeng.guns.modular.gridsystem.service;

import cn.stylefeng.guns.core.pojo.page.PageResult;
import cn.stylefeng.guns.modular.gridsystem.entity.BizCollectionSampleManage;
import cn.stylefeng.guns.modular.gridsystem.model.param.BizCollectionSampleManageParam;
import cn.stylefeng.guns.modular.gridsystem.model.result.BizCollectionSampleManageResult;
import cn.stylefeng.guns.modular.gridsystem.model.result.CollectionResponseResult;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 通道类型 服务类
 *
 * @author ssy
 * @date 2022/02/16 10:59
 */
public interface BizCollectionSampleManageService extends IService<BizCollectionSampleManage> {

    /**
     * 分页查询通道类型
     *
     * @return
     * @author ssy
     * @date 2022/02/16 10:59
     */
    PageResult<BizCollectionSampleManageResult> page(BizCollectionSampleManageParam param);

    /**
     * 分页查询网关通道的注册样本
     *
     * @param param 查询参数
     * @return
     */
    PageResult<BizCollectionSampleManageResult> pageList(BizCollectionSampleManageParam param);

    /**
     * 查询所有通道类型
     *
     * @author ssy
     * @date 2022/02/16 10:59
     */
    List<BizCollectionSampleManage> list(BizCollectionSampleManageParam bizChannelTypeParam);

    /**
     * 添加通道类型
     *
     * @author ssy
     * @date 2022/02/16 10:59
     */
    void add(BizCollectionSampleManageParam bizChannelTypeParam);

    /**
     * 删除通道类型
     *
     * @author ssy
     * @date 2022/02/16 10:59
     */
    void delete(BizCollectionSampleManageParam bizChannelTypeParam);

    /**
     * 编辑通道类型
     *
     * @author ssy
     * @date 2022/02/16 10:59
     */
    void edit(BizCollectionSampleManageParam bizChannelTypeParam);

    /**
     * 查看详情通道类型
     *
     * @author ssy
     * @date 2022/02/16 10:59
     */
    BizCollectionSampleManage detail(BizCollectionSampleManageParam bizChannelTypeParam);

    /**
     * 注册故障模型
     *
     * @param param
     */
    Long registerModel(BizCollectionSampleManageParam param);

    /**
     * 注册正样本模型
     *
     * @param param
     */
    Long registerNormalModel(BizCollectionSampleManageParam param);

    /**
     * 查询任务下发响应
     *
     * @param param
     */
    CollectionResponseResult queryTask(BizCollectionSampleManageParam param);

    void deleteByGatewayAndChannel(BizCollectionSampleManageParam param);
}
